DIFFUSER_CONICAL
Overview
Calculate the loss coefficient (K) for a conical pipe expansion (diffuser).
Excel Usage
=DIFFUSER_CONICAL(Di_small, Di_large, angle, Re, diff_con_method)
Di_small(float, required): Inside diameter of original (smaller) pipe [m]Di_large(float, required): Inside diameter of following (larger) pipe [m]angle(float, required): Angle of expansion [degrees]Re(float, optional, default: 1000000): Reynolds number of the pipe flow [-]diff_con_method(str, optional, default: “Rennels”): Calculation method
Returns (float): Loss coefficient K for the conical diffuser [-]
Examples
Example 1: Basic conical diffuser at 50 degrees
Inputs:
| Di_small | Di_large | angle | Re |
|---|---|---|---|
| 0.333 | 1 | 50 | 1000000 |
Excel formula:
=DIFFUSER_CONICAL(0.333, 1, 50, 1000000)
Expected output:
| Result |
|---|
| 0.8031 |
Example 2: Small angle diffuser (10 degrees)
Inputs:
| Di_small | Di_large | angle | Re |
|---|---|---|---|
| 0.1 | 0.2 | 10 | 100000 |
Excel formula:
=DIFFUSER_CONICAL(0.1, 0.2, 10, 100000)
Expected output:
| Result |
|---|
| 0.0899 |
Example 3: Conical diffuser with Crane method
Inputs:
| Di_small | Di_large | angle | Re | diff_con_method |
|---|---|---|---|---|
| 0.333 | 1 | 50 | 1000000 | Crane |
Excel formula:
=DIFFUSER_CONICAL(0.333, 1, 50, 1000000, "Crane")
Expected output:
| Result |
|---|
| 0.7905 |
Example 4: Conical diffuser with Swamee method
Inputs:
| Di_small | Di_large | angle | Re | diff_con_method |
|---|---|---|---|---|
| 0.333 | 1 | 50 | 1000000 | Swamee |
Excel formula:
=DIFFUSER_CONICAL(0.333, 1, 50, 1000000, "Swamee")
Expected output:
| Result |
|---|
| 1.8218 |
Python Code
import micropip
await micropip.install(["fluids"])
from fluids.fittings import diffuser_conical as fluids_diffuser_conical
def diffuser_conical(Di_small, Di_large, angle, Re=1000000, diff_con_method='Rennels'):
"""
Calculate the loss coefficient (K) for a conical pipe expansion (diffuser).
See: https://fluids.readthedocs.io/fluids.fittings.html#fluids.fittings.diffuser_conical
This example function is provided as-is without any representation of accuracy.
Args:
Di_small (float): Inside diameter of original (smaller) pipe [m]
Di_large (float): Inside diameter of following (larger) pipe [m]
angle (float): Angle of expansion [degrees]
Re (float, optional): Reynolds number of the pipe flow [-] Default is 1000000.
diff_con_method (str, optional): Calculation method Valid options: Rennels, Crane, Miller, Swamee, Idelchik, Hooper. Default is 'Rennels'.
Returns:
float: Loss coefficient K for the conical diffuser [-]
"""
try:
Di1 = float(Di_small)
Di2 = float(Di_large)
angle = float(angle)
Re = float(Re)
except (ValueError, TypeError):
return "Error: All parameters must be numbers."
if Di1 <= 0 or Di2 <= 0:
return "Error: Diameters must be positive."
if Di1 >= Di2:
return "Error: Di_small must be less than Di_large."
if angle <= 0 or angle > 180:
return "Error: Angle must be between 0 and 180 degrees."
if Re <= 0:
return "Error: Re must be positive."
try:
result = fluids_diffuser_conical(Di1=Di1, Di2=Di2, angle=angle, Re=Re, method=diff_con_method)
return float(result)
except Exception as e:
return f"Error: {str(e)}"